package com.features;

import org.hyperic.sigar.Mem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.Swap;

import com.utils.AbstractTrace;

/** <p>Title: 内存资源信息</p>
 * <p>Description: 获取内存资源信息</p>
 * <p>Copyright: Copyright (c) 2011</p>
 * @author zhangzuoqiang
 * @version 
 * <br/>Date: 2011-5-10
 */
public class MemCommand extends AbstractTrace {
	
	/**
	 * 获取物理内存信息
	 * @return
	 */
	public Mem getPhyMemInfo() {
		Sigar sigar = new Sigar();
		Mem mem = null;
		try {
			mem = sigar.getMem();
		} catch (SigarException e) {
			e.printStackTrace();
		}
		/*// 内存总量
		traceln("Total = " + mem.getTotal() / 1024L + "K av");
		// 当前内存使用量
		traceln("Used = " + mem.getUsed() / 1024L + "K used");
		// 当前内存剩余量
		traceln("Free = " + mem.getFree() / 1024L + "K free");*/
		return mem;
	}
	
	/**
	 * 获取系统页面文件交换区信息
	 * @return
	 */
	public Swap getSwapInfo() {
		Sigar sigar = new Sigar();
		Swap swap = null;
		try {
			swap = sigar.getSwap();
		} catch (SigarException e) {
			e.printStackTrace();
		}
		/*// 交换区总量
		traceln("Total = " + swap.getTotal() / 1024L + "K av");
		// 当前交换区使用量
		traceln("Used = " + swap.getUsed() / 1024L + "K used");
		// 当前交换区剩余量
		traceln("Free = " + swap.getFree() / 1024L + "K free");*/
		return swap;
	}
}
